/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package framework11;

import java.io.BufferedInputStream;
import java.io.DataInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.PrintWriter;
import javax.swing.JOptionPane;

/**
 *
 * @author Javier
 */
public class LeerJava {
    File Fichero;
    String nombre = null;
    ObjectInputStream entrada;
    FileInputStream FileJava;
    BufferedInputStream BufFile;
    DataInputStream DataJava;
    String RutaDestino;
    String[] vector = new String[227];
    String paquete;
    String nombre_clase;
    Atributos[] atri;
    String Label1, Label2;
    int i = 34;
    String comilla = new Character((char)i).toString();
    public LeerJava(String DesdeJava , String destinoJava)
    {
        Fichero = new File(DesdeJava);
        entrada = null;
        FileJava = null;
        BufFile = null;
        DataJava = null;
        this.RutaDestino = destinoJava;
      
    }
    public LeerJava()
    {
    
    }
    
    public void setAtributos(Atributos[] at)
    {
        atri = at;
    }        
    
    public void setLabels(String L1, String L2)
    {
        Label1 = L1;
        Label2 = L2;
    }
    
    public void setPack(String paquete)
    {
        this.paquete = paquete;
    }
    
    public void setNomClass(String name)
    {
        nombre_clase = name;
    }

    public void leer() 
    {

        int cont = 0;
        String EscribirLinea=null;
        try {
            FileJava = new FileInputStream(Fichero);
            BufFile = new BufferedInputStream(FileJava);
            DataJava = new DataInputStream(BufFile);
            String linea;
            String tipo;
            System.out.println("ACA EMPIEZA EL .JAVA");
            while (DataJava.available() != 0) {
                linea = DataJava.readLine().trim();
//                if (!linea.equals("") && !linea.equals("\n") && linea.length()>=7){
                        //System.out.println(linea); 
                        vector[cont] = linea;
                        cont++;
                    //}  
                }
                             
            FileJava.close();
            BufFile.close();
            DataJava.close();
            reemplazar();
            
            } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        for(int x = 0; x <= vector.length-1; x++)
        {
            System.out.println(vector[x]);
        }
    }
    
    public void reemplazar()
    {
        for (int x = 0; x <= vector.length-1; x++)
        {
            String cadena;
            if (x == 10)
            {
                cadena = vector[x];
                cadena = cadena.replace("generar", paquete);
                vector[x] = cadena;
            }
            if (x == 26 ) 
            {
                cadena = vector[x];
                cadena = cadena.replace("Plantilla", nombre_clase);
                vector[x] = cadena;
            }
            if (x == 29 ) 
            {
                cadena = vector[x];
                cadena = cadena.replace("Plantilla", nombre_clase);
                vector[x] = cadena;
            }
            if (x == 55 )
            {
                cadena = vector[x];
                cadena = cadena.replace(comilla + "Encabezado" + comilla, comilla + "Busqueda" + comilla);
                vector[x] = cadena;
            }
            if (x == 57)
            {
                cadena = vector[x];
                cadena = cadena.replace(comilla + "Instrucciones" + comilla, comilla + "Ingrese en los campos para realizar la busqueda" + comilla);
                vector[x] = cadena;
            }
            if ( x == 59)
            {
                cadena = vector[x];
                cadena = cadena.replace(comilla + "Campo1" + comilla, comilla + Label1 + comilla);
                vector[x] = cadena;
            }
            if ( x == 61)
            {
                cadena = vector[x];
                cadena = cadena.replace(comilla + "Campo2" + comilla, comilla + Label2 + comilla);
                vector[x] = cadena;
            }
            if ( x == 71)
            {
                vector[x] = "";
                for (int y = 0; y <= atri.length - 1; y++)
                {
                    vector[x] = vector[x] + comilla + atri[y] + comilla + ",";
                    if (y == atri.length - 1)
                    {
                        vector[x] = vector[x].substring(0, vector[x].length() - 1);
                    }
                }
            }
            if ( x == 159 )
            {
                cadena = vector[x];
                cadena = cadena.replace("Plantilla", nombre_clase);
                vector[x] = cadena;
            }
        System.out.println(vector[x]);    
        }
        
        
    }
    
    public void crearArchivo(String path) throws IOException
    {
        FileWriter archivo = new FileWriter(path +"/" +nombre_clase+ ".java");
        
        PrintWriter imp = new PrintWriter(archivo);
        for (int x = 0; x <= vector.length - 1; x++ )
        {imp.println(vector[x]);}
        archivo.close();
        JOptionPane.showMessageDialog(null, "archivo .JAVA creado exitosamente");
    }        
}
